home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 October / EnigmA AMIGA RUN 01 (1995)(G.R. Edizioni)(IT)[!][issue 1995-10][Aminet 7].iso / Aminet / comm / bbs / MSGReadV1_3.lha / MSGRead.doc < prev    next >
Text File  |  1995-05-10  |  9KB  |  281 lines

  1.  
  2.  
  3.  
  4.                                 MSGRead
  5.                                 -------
  6.                         A StdInOut-MSG-Reader
  7.                          for use with BBS or
  8.                           as a VERY SIMPLE 
  9.                          Standalone-Browser
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.                (C) 1995 by Marc J. Führer, Germany
  21.                    marc_fuehrer@scooter.ping.de
  22.     MSGRead is FreeWare - all rights are reserved to the author
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29. Introduction
  30. ------------
  31. Yes... MSGRead is a really simple program. I only wrote it to include my
  32. Foozle-Messagebase into WWBBS (see copyrights). But it can be used with
  33. just any BBS or via CLI - as long as StdIn and StdOut are forced into the
  34. desired direction.
  35.  
  36. MSGRead gives the user a small choice of actions:
  37.  
  38. - walk along the message-headers - showing FROM, TO, SUBJECT and DATE
  39.   of each message.
  40. - read the actual message
  41. - reply to a message, quoting directly from the original one
  42. - mail a new message - privately or into the actual echo
  43.  
  44. There are still enhancements to be made - this is the first version to
  45. be released. I hope to get some hints or whishes!
  46.  
  47.  
  48.  
  49. Usage
  50. -----
  51. Err... Well... I'd say... ok.
  52.  
  53. Let me explain how MSGRead works. You should find a program called
  54. MSGIdx
  55. in the same directory you unpacked MSGRead to. It generates an Indexfile
  56. for each area-directory you want MSGRead to use in. This Indexfile contains
  57. the writer, receiver and subject of every message in the directory, sorted
  58. by their _originating_ date. Meaning: the first listed message in the Index
  59. is the oldest, the last the latest - depending NOT on the date of tossing
  60. but the date of writing!
  61. (...and that's the reason why MSGIdx takes some time to generate the
  62. Index... it has to open each MSG-file)
  63.  
  64. MSGIdx's usage is quite simple:
  65. Give it a specific directory name with
  66.         DIR=... (e.g. DIR=mail:echo/amiga.ger)
  67. or: give it a config-file with
  68.         CONFIG=... (e.g. MSGIdx.config)
  69. or: start it with HAVING a configfile named "msgidx.cfg"
  70.  
  71. The configfile simply consists of directorynames with full path! e.g.:
  72. -----cut-------
  73. mail:echo/amiga.ger
  74. mail:echo/ami_bla.ger
  75. mail:echo/blabla.fin
  76. mail:echo/chat.int
  77. -----cut-------
  78.  
  79.  
  80. After MSGIdx has done it's work you can call up MSGRead.
  81.  
  82. MSGRead looks for a configfile called MSGRead.cfg. This config must contain
  83. some keywords as there are:
  84.  
  85.  
  86.  NODE=<your node number> (Format zone:net/node.point)
  87.  
  88.  ORIGIN=<your desired origin-line> (no " * Origin:", no (x:xxx/xxx) needed)
  89.  
  90.  TEARLINE=<your tearline> (may be a single space)
  91.  
  92.  EDITOR=<commandline>
  93.  
  94.  MATRIX=<full path to your NetMail-Folder>
  95.  
  96. Node is, as I suppose, selfexplanatory. Such is Origin and Tearline...
  97. Editor must hold the call for your BBS-online-editor (e.g. emacs), where
  98. the filename to edit is added by MSGRead.
  99. Matrix is the path to your NetMail-folder, e.g. MATRIX=mail:echo/matrix
  100. It is used for private replies or mails.
  101.  
  102. As soon as you have set up MSGRead.cfg you can start MSGRead:
  103.  
  104.  
  105. Template:
  106. MSGRead DIR=directory-to-scan LINES=number_of_screen_lines USER=well_guess!
  107.  
  108. DIR
  109. I think you can imagine what the keyword DIR is for. MSGRead is designed to
  110. work with a SINGLE directory on every call - so all "level-controlling",
  111. all "groupings" and what-the-heck can be done via your BBS. You simply call
  112. MSGRead if you want to.
  113.  
  114. LINES
  115. Since there is no standard screen-height in BBS (how could?) you can
  116. specify the number of lines your actual user has chosen. Refer to your
  117. BBS's manual for how to get that value! 24 is taken as standard. Please
  118. remember that LINES means _all_ lines on the screen including MSGRead's own
  119. header - and there has to be a "minimum" of lines to really work with - it
  120. doesn't make sense to use MSGRead with a single line... so in short:
  121. minimum LINES is 10.
  122.  
  123. USER
  124. All characters till the end of the line are taken as part of the user's
  125. name. Again, refer to your BBS's manual for how to get the user's name -
  126. mostly you can somehow put it into an ENV-variable.
  127.  
  128.  
  129.  
  130.  
  131. Working with MSGRead
  132. --------------------
  133. You (or the user) get a short help line at the screentop, showing all
  134. keys to use while MSGRead is working. These are:
  135.  
  136. 8: scroll mark one message up (or, when viewing a message: scroll one page
  137.    up)
  138. 2: scroll mark one message down (or, when viewing a message: scroll one
  139.    page down)
  140. Return: read actually marked message
  141. r: reply to actually marked message, quoting it's text
  142. m: mail a new message into the echo or privately into MATRIX
  143. x: leave MSGRead (or, when viewing a message: go back to overview)
  144.  
  145.  
  146. After you have written or edited a message you are asked some questions:
  147.  
  148. - Do you want to address your mail to ...
  149.   Here the author of the message you replied to is put in - or ALL.
  150. - Is your mail private (No=EchoMail!) ?
  151.   If you answer with "y" (Yes) your mail is sent via MATRIX, not into
  152.   the echo. You have _then_ to answer:
  153. - Is this address correct: x:x/x.x
  154.   It should be correct if you REPLY to a message, if you originate one
  155.   you should answer "n" (NO) and type in the correct address.
  156. - Do you want to change the subject (...)
  157.   If you don't, answer "n" (NO) - elseway type in a new subjectline.
  158.  
  159.  
  160.  
  161. Sysop's task
  162. ------------
  163. After MSGRead is ended you, as the sysop, have to do whatever is needed to
  164. rescan, toss, export the new messages. If you use Foozle this would be:
  165. TellFoozle FRescan Chg (use FRescan rather than Rescan: rebuild .map!)
  166.  - and maybe, if you export every time "tellfoozle export"
  167. AND: of course you sometimes have to update your MSG.IDX-files that are
  168. written by MSGIdx. They are _not_ updated automatically for a simple
  169. reason: if you, as the sysop, want to "control" the new messages before
  170. exporting them (maybe to delete those written by an unwanted user) you
  171. would have to kill the corresponding lines from the indeces.
  172. Don't worry that MSGRead could ever write a new message twice... it does
  173. not since it takes the message-number from the ".map" file in the area's
  174. directory, keeping Foozle (or whatever) away from overwriting these
  175. messages itself:
  176. That means: if you use some tosser other than foozle (which should work if
  177. the *MSG-format is the same) you can easily generate some .map-file for
  178. each area-directory. It has to be at least 8 bytes long, since the number
  179. of the next message to be written starts at offset 4.
  180.  
  181.  
  182.  
  183. History
  184. -------
  185.  
  186. V1.0 - first official release though a bit buggy
  187. V1.1 - fixed bug that caused MSGRead to convert ALL texts from
  188.        config to lower case
  189.      - fixed bug that cut off the Origin
  190.      - FRescan should be used with Foozle
  191. V1.2 - internal release, fixed some memory bugs
  192. V1.3 - improved BreakHandling
  193.  
  194. Things to do
  195. ------------
  196. I do not dare to count them... :-)
  197. In fact: there are some things I would like to do:
  198.  
  199. - rethink format of overviewpage (that is: should I cut the FROM and
  200.   TO field to give it an unique image?)
  201. - built-in word wrapping
  202. - better break-handling (yet only via CheckSignal)
  203. - help-pages? may be...
  204. - perhaps NodeList support
  205.  
  206. Bugs
  207. ----
  208. ...no serious ones found so far. I don't consider the missing wordwrapping
  209. a bug...
  210.  
  211. I hope there are no problems with the _very_ simple break-handling.
  212.  
  213.  
  214. Last Words
  215. ----------
  216. I wrote this program in the evenings hours with my little girl jumping onto
  217. me, my wife chatting to me, my computer guruing due to an overloaded
  218. powersupply, dates cutting down the time...
  219. Still I hope to give away some software of use. I _will_ improve it, I
  220. _will_ kill the bugs and I _will_ go to bed early tonight.
  221. Please mail me if you found something to change, if you like the program,
  222. if the weather is fine or if you simply do not know what is meant by AMIGA.
  223.  
  224. Please remember that french is not my mother's motherlanguage (or was it
  225. italian I wrote this in?)
  226.  
  227.  
  228. Disclaimer
  229. ----------
  230. MSGRead is FreeWare. That means it may be copied without making profit -
  231. and THIS MEANS: _no__charge__at__all may be taken for copying it. This does
  232. NOT include the price of disks, CDs or whatever carrier is used as long as
  233. they are not saled to gain _profit_ with.
  234. All rights of the program remain by the author (me...) Marc Führer. I am
  235. reachable via "marc_fuehrer@scooter.ping.de".
  236. No guarantee is given for anything.
  237. AmiNet and Fred Fish are (of course) allowed to include MSGRead in their
  238. collections under the usual terms.
  239.  
  240.  
  241.  
  242. Copyrights
  243. ----------
  244. Foozle - is copyright © 1994 Peer Hasselmeyer
  245. WWBBS - World Wide BBS is Copyright © 1995 Arthur Choung
  246.  
  247.  
  248. Excerpt from FOOZLE.TECHREF:
  249. ----------------------------
  250. Foozle's MSG-files follow this format:
  251.  
  252.        Offset 
  253.         0 36B   From User
  254.        36 36B   To User
  255.        72 72B   Subject
  256.       144 20B   Date / time
  257.       164 WORD  Times read (ignored) (No, Peer... not really :-) )
  258.       166 WORD  Dest node
  259.       168 WORD  Orig node
  260.       170 WORD  Cost (ignored)
  261.       172 WORD  Orig net
  262.       174 WORD  Dest net
  263.       176 LONG  0 (ignored)
  264.       180 LONG  MS-DOS-TimeStamp of arrival time
  265.       184 WORD  Dest zone (matrix only)
  266.       186 WORD  Attributes (see FTS-1 for a description)
  267.       188 WORD  Dest point (matrix only)
  268.       190 STRCT Previous reply (MsgId-structure)
  269.       202 STRCT Next reply (MsgId-structure)
  270.       214 TEXT  Message text
  271.  
  272.      Each MsgId-entry looks like:
  273.        0 WORD Zone (bit 15:data-indicator)  \
  274.        2 WORD Net                            \ of the originating
  275.        4 WORD Node                           / system
  276.        6 WORD Point                         /
  277.        8 LONG Data
  278.  
  279.  
  280. All strings are NULL-terminated.
  281.